package cn.kai.util;

import cn.hutool.jwt.JWT;
import cn.hutool.jwt.JWTUtil;

/**
 * JWT工具类
 *
 * @author dou
 * @since 2024-12-18
 */
public class JwtUtils {

    // 密钥
    public static final String TOKEN_SECRET = "6c4441ac-1eb7-697b-8c4f-c9507f8ec7ed";

    /**
     * 生成token字符串的方法
     *
     * @param userId 用户id
     * @return token令牌
     */
    public static String getJwtToken(Long userId) {
        return JWT.create()
                .setHeader("typ", "JWT")
                .setHeader("alg", "HS256")
                .setPayload("userId", userId)
                .setKey(TOKEN_SECRET.getBytes())
                .sign();
    }

    /**
     * 判断token是否非法
     *
     * @param token token令牌
     * @return 是否非法
     */
    public static boolean illegalJwtToken(String token) {
        try {
            return !JWTUtil.verify(token, TOKEN_SECRET.getBytes());
        } catch (Exception e) {
            return true;
        }
    }

}
